
 (defrule anyVisibl
	?obj <- (visible (Object ?o) (PosX ?x) (PosY ?y))
	=>
	(assert (move (Move move) (MoveX ?x) (MoveY ?y)))
 )
 (defrule noneVisible
	(not(exists(visible (Object ?o) (PosX ?x) (PosY ?y))))
	=>
	(assert (move (Move nothing)  (MoveX 0) (MoveY 0)))
 )
